#include "StdAfx.h"
#include "CyNetDummy.h"

CyNetDummy::CyNetDummy(void)
{
}

CyNetDummy::CyNetDummy(int size)
{
	_size = size;
}

CyNetDummy::~CyNetDummy(void)
{
}

int CyNetDummy::GetSize() const
{
	return _size;
}

int CyNetDummy::GetStream(char* buffer, int size) const
{
	// 1. write code field
	int code = CyNetObjectEnum::DUMMY;
	*reinterpret_cast<int*>(buffer + 4) = code;

	// 2. write text field
	// Nothing to write

	// 3. Write Size
	*reinterpret_cast<int*>(buffer) = _size;

	// 4. Write checksum
	*reinterpret_cast<int*>(buffer + 8) = code ^ _size;

	return _size;
}

CyNetObject& CyNetDummy::FromStream(const char* buffer)
{
	// Write Size
	_size = *reinterpret_cast<const int*>(buffer);

	return *this;
}

CyNetObjectEnum CyNetDummy::GetType() const
{
	return CyNetObjectEnum::DUMMY;
}

void CyNetDummy::SetSize(int size)
{
	_size = size;
}